package cn.csc.framework.pay.core.client.impl.wx;

import cn.csc.framework.pay.core.client.AbstractPayCodeMapping;
import cn.csc.framework.pay.core.client.dto.PayOrderUnifiedRespDTO;
import cn.csc.framework.pay.core.client.impl.AbstractPayClient;
import com.github.binarywang.wxpay.service.WxPayService;
import lombok.extern.slf4j.Slf4j;

import java.math.BigInteger;

/**
 * 微信支付抽象类，实现微信统一的接口、以及部分实现（退款）
 *
 * @author 遇到源码
 */
@Slf4j
public abstract class AbstractWxPayClient extends AbstractPayClient<WXPayClientConfig> {

    protected WxPayService client;

    public AbstractWxPayClient(BigInteger channelId, String channelCode, WXPayClientConfig config, AbstractPayCodeMapping codeMapping) {
        super(channelId, channelCode, config, codeMapping);
    }

    /**
     * 获得支付订单信息
     * @param outTradeNo 外部订单号
     * @return 支付订单信息
     */
    @Override
    protected PayOrderUnifiedRespDTO doGetOrder(String outTradeNo) throws Throwable{
        // TODO 实现订单查询
        return null;
    }



}
